import {app, BrowserWindow ,ipcMain } from 'electron'
import path from "node:path"

/* 初始化win组件创建app */
let win: BrowserWindow | null
// 服务路径
const VITE_DEV_SERVER_URL = process.env['VITE_DEV_SERVER_URL']
// 项目路径
process.env.DIST = path.join(__dirname, '../dist')
process.env.PUBLIC = app.isPackaged ? process.env.DIST : path.join(process.env.DIST, '../public')
// 去除页面警告
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';

/* 创建app */
function createWindow() {
    win = new BrowserWindow({
        frame:false, // 关闭默认标题栏
        transparent: true, // 窗口是否支持透明，如果想做高级效果最好为true
        width: 1100,
        minWidth: 1100, // 宽度
        height: 720,
        minHeight: 720, // 高度
        hasShadow: false, // 阴影
        icon: path.join("../public", "vite.svg"),  // 图标
        backgroundColor: '#00000000',  // 背景色
        webPreferences: {
            preload: path.join(__dirname, 'preload.js'),
            webSecurity: true,
            //  渲染进程 开启node模块，使得JS中可以使用node的model
            nodeIntegration: true,
            // 控制上下文隔离
            contextIsolation: false,
            devTools: true,//关闭开发者工具
        },
    })

    if (VITE_DEV_SERVER_URL) {
        win.loadURL(VITE_DEV_SERVER_URL).then(() => {});
    } else {
        win.loadFile(path.join(process.env.DIST, 'index.html')).then(() => {});
    }
}

//自定义最小化
ipcMain.on('window-min', () => {
    win?.minimize()
})

// 自定义关闭app
ipcMain.on('window-close', () => {
    win?.close()
})

/* app创建窗口 */
app.whenReady().then(createWindow);